<template>
      <div>
        <!-- 豁免檢索配置 -->
        <VxePage
          id="0001.A129.0032"
          ref="0001.A129.0032"
          :query-form="queryForm"
          :state-count-config="statusCountConfig"
          :list-page-config="{
            tableFixColumns: true,
            tableFixHeight: true,
            tableMode: 'radio',
            showCfgButton: true
          }"
          opt-code="STM002GET1101"
          @doAdd="doAdd"
          @doDetail="doDetail"
          @doEdit="doEdit"
          @doDelete="doDelete"
        >
          <template #buttonGroup>
            <bfe-button
              type="primary"
              icon="search"
              :loading="$refs['0001.A129.0032'] ? $refs['0001.A129.0032'].tableLoading : false"
              @click="doSearch"
            >
              {{ $t('stm.btn.query') }}
            </bfe-button>
          </template>
          <!-- 所属银行 -->
          <template #cond_bankNo="{cfg}">
            <bfe-form-item :label="$t('stm. exemptConfig.bankNo')" style="width: 210px;" prop="bankNo">
              <bfe-select v-model="queryForm.bankNo" size="small" :placeholder="$t('stm.validateTip.pleaseSelect')" filterable clearable>
                <bfe-option v-for="(item, index) in bankIdObj[language]" :key="item.key" :label="item.value" :value="item.key" />
              </bfe-select>
            </bfe-form-item>
          </template>
        </VxePage>
         <Add ref="add" :select-obj="selectObj" @doSearch="doSearch" :bank-id-obj="bankIdObj" />
      </div>
    </template>
    
    <script>
    import VxePage from '@/components/vxePage/vxePage';
    import Add from './Add'
    import mixinList from '@stm/mixins'
    import {mapState} from 'vuex';
    
    export default {
      components: {
        VxePage,
        Add
      },
      mixins: [mixinList],
      data() {
        return {
          queryForm: {},
          statusCountConfig: {},
          selectObj: {
            exempttype: {},
            exemptstatus: {},  
            exemptlevel:{},
            certType:{},
            cstType:{},
            isPepOrBlack:{},
            risklevel:{},  
            currSts:{},         
          },
          bankIdObj: {
                zh_TW: [],
                en_US: []
              },      
        }
      },
      mounted() {
        const arr = [
          {paratype: 'exempttype'},
          {paratype: 'exemptstatus'}, 
          {paratype: 'exemptlevel'},
          {paratype: 'certType'},      
          {paratype: 'cstType'},
          {paratype: 'isPepOrBlack'}, 
          {paratype: 'risklevel'},        
          {paratype: 'currSts'},             
        ]
        this.getSelectList(arr)
        this.getBankIdObj('bankIdObj', 'STM006PUBLIC0101')
      },
      methods: {
        doAdd(row){
          this.$refs.add.initPage('add')
        },
        doDetail(row){
          const arr = row.rows
          if(arr.length !== 1){
            this.$message.warning(this.$t('stm.handleTips.selectOne'))
            return
          }
          this.$refs.add.initPage('detail', arr[0])
        },
        doEdit(row){
          const arr = row.rows
          if(arr.length !== 1){
            this.$message.warning(this.$t('stm.handleTips.selectOne'))
            return
          }
          this.$refs.add.initPage('edit', arr[0])
        },  
        doSearch(){
          this.$refs['0001.A129.0032'].doSearch()
        },
        doDelete(row){        
          const arr = row.rows
          if(arr.length !== 1){
            this.$message.warning(this.$t('stm.handleTips.selectOne'))
            return
          }
          this.$refs.add.initPage('delete', arr[0])
        }
      }
    }
    </script>
    
    <style scoped lang="less">
    .iconStyle{
      font-size: 18px;
      margin-top: 3px;
      color: #d21f3e;
    }
    </style>